Micron Document
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
| SparkN0de-git | SparkN0de |
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------


Displaying Raw • Download


partition_hashes 6bbcaa0ba959cfcb3aaff398339fa09cce054fd6 (6bbcaa0b) Text, 1.55 KB

T8b949e#!/usr/bin/env python

T8b949e# Copyright (C) 2024, Mark Qvist

T8b949e# This program is free software: you can redistribute it and/or modify
T8b949e# it under the terms of the GNU General Public License as published by
T8b949e# the Free Software Foundation, either version 3 of the License, or
T8b949e# (at your option) any later version.

T8b949e# This program is distributed in the hope that it will be useful,
T8b949e# but WITHOUT ANY WARRANTY; without even the implied warranty of
T8b949e# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
T8b949e# GNU General Public License for more details.

T8b949e# You should have received a copy of the GNU General Public License
T8b949e# along with this program. If not, see <https://www.gnu.org/licenses/>.

Tff7b72import T7ee787os
Tff7b72import T7ee787sys
Tff7b72import T7ee787RNS
Tff7b72import T7ee787json
Tff7b72import T7ee787hashlib
Tff7b72import T7ee787subprocess

Te6edf3major_version Tff7b72= Tff7b72None
Te6edf3minor_version Tff7b72= Tff7b72None
Te6edf3target_version Tff7b72= Tff7b72None

Te6edf3target_file Tff7b72= Te6edf3osTff7b72.Td2a8ffpathTff7b72.Td2a8ffjoinTb4b4b4(Te6edf3sysTff7b72.Td2a8ffargvTb4b4b4[T79c0ff1Tb4b4b4]Tb4b4b4)

Tff7b72if Te6edf3sysTff7b72.Td2a8ffargvTb4b4b4[T79c0ff1Tb4b4b4] Tff7b72== Ta5d6ff"Ta5d6fffrom_deviceTa5d6ff"Tb4b4b4:
Te6edf3from_device Tff7b72= Tff7b72True
Tff7b72elseTb4b4b4:
Te6edf3from_device Tff7b72= Tff7b72False

Tff7b72if Tff7b72not Te6edf3from_deviceTb4b4b4:
Te6edf3firmware_data Tff7b72= Tffa657openTb4b4b4(Te6edf3target_fileTb4b4b4, Ta5d6ff"Ta5d6ffrbTa5d6ff"Tb4b4b4)Tff7b72.Td2a8ffreadTb4b4b4(Tb4b4b4)
Te6edf3calc_hash Tff7b72= Te6edf3hashlibTff7b72.Td2a8ffsha256Tb4b4b4(Te6edf3firmware_dataTb4b4b4[T79c0ff0Tb4b4b4:Tff7b72-T79c0ff32Tb4b4b4]Tb4b4b4)Tff7b72.Td2a8ffdigestTb4b4b4(Tb4b4b4)
Te6edf3part_hash Tff7b72= Te6edf3firmware_dataTb4b4b4[Tff7b72-T79c0ff32Tb4b4b4:Tb4b4b4]

Tff7b72if Te6edf3calc_hash Tff7b72== Te6edf3part_hashTb4b4b4:
Tffa657printTb4b4b4(Te6edf3RNSTff7b72.Td2a8ffhexrepTb4b4b4(Te6edf3part_hashTb4b4b4, Te6edf3delimitTff7b72=Tff7b72FalseTb4b4b4)Tb4b4b4)

Tff7b72elseTb4b4b4:
Tff7b72tryTb4b4b4:
Te6edf3cmdresult Tff7b72= Te6edf3subprocessTff7b72.Td2a8ffrunTb4b4b4(Tb4b4b4[Ta5d6ff"Ta5d6ffrnodeconfTa5d6ff"Tb4b4b4, Te6edf3sysTff7b72.Td2a8ffargvTb4b4b4[T79c0ff2Tb4b4b4]Tb4b4b4, Ta5d6ff"Ta5d6ff-LTa5d6ff"Tb4b4b4]Tb4b4b4, Te6edf3stdoutTff7b72=Te6edf3subprocessTff7b72.Td2a8ffPIPETb4b4b4)Tff7b72.Td2a8ffstdoutTff7b72.Td2a8ffdecodeTb4b4b4(Ta5d6ff'Ta5d6ffutf-8Ta5d6ff'Tb4b4b4)
Te6edf3part_hash Tff7b72= Te6edf3cmdresultTff7b72.Td2a8ffsplitTb4b4b4(Ta5d6ff"Ta5d6ffThe actual firmware hash is: Ta5d6ff"Tb4b4b4)Tb4b4b4[T79c0ff1Tb4b4b4]Tff7b72.Td2a8ffreplaceTb4b4b4(Ta5d6ff"Tffea00\nTa5d6ff"Tb4b4b4, Ta5d6ff"Ta5d6ff"Tb4b4b4)
Tffa657printTb4b4b4(Te6edf3part_hashTb4b4b4)
Tff7b72except Tf85149Exception Tff7b72as Te6edf3eTb4b4b4:
Tffa657printTb4b4b4(Ta5d6ff"Ta5d6ffCould not get partition hash from device: Ta5d6ff"Tff7b72+Tffa657strTb4b4b4(Te6edf3eTb4b4b4)Tb4b4b4)


──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────